package com.imooc.ecommerce.config;

import org.springframework.cloud.gateway.route.RouteLocator;
import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * <p>配置登录请求转发规则
 *
 * @author Yaxi.Zhang
 * @since 2022/11/10 00:32
 */
@Configuration
public class RouteLocatorConfig {
    /**
     * <p>使用代码定义路由规则, 在网关层面拦截下登录和注册接口
     */
    @Bean
    public RouteLocator loginRouteLocator(RouteLocatorBuilder builder) {
        // 手动定义 Gateway 路由规则需要指定 id、path 和 uri
        return builder
                .routes()
                .route(
                        "e_commerce_authority",
                        // 这个地方的path参考GlobalLoginOrRegisterFilter中指定的 登录与注册 的path
                        r -> r
                                .path("/imooc/e-commerce/login", "/imooc/e-commerce/register")
                                .uri("http://127.0.0.1:9001/")
                )
                .build();
    }
}
